@echo off

@REM setlocal

if NOT DEFINED repo_url (
    set repo_url=%~1
)


if NOT DEFINED third_part_repo_tag (
    set third_part_repo_tag=%~2
)

if NOT DEFINED third_part_repo_tag (
    set third_part_name=%~3
)

set cache_dir=%script_dir%cache

if not exist %cache_dir% md %cache_dir% 
set local_repo_dir=%cache_dir%\%third_part_name%

if DEFINED re_clone (
    rd /s /q %local_repo_dir%
)

echo %local_repo_dir%
if not exist %local_repo_dir% (
    echo "clone %repo_url% to %local_repo_dir%"
    git clone -b %third_part_repo_tag% %repo_url% %local_repo_dir%

    if DEFINED commit_id (
        cd %local_repo_dir%"
        echo "git checkout " %commit_id%
        git checkout %commit_id%
        cd %script_dir%
    ) 

) else (
    cd %local_repo_dir%"
    if DEFINED commit_id (
        echo "git checkout " %commit_id%
        git checkout %commit_id%
    ) else (
        echo "git pull "
        git pull 
    )
    cd %script_dir%
)


@REM endlocal